+2008-05-25 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 534694 – Col id in GtkListStore could be out of range
+
+ * gtk/gtkliststore.c (list_store_start_element): Fix up error handling
+ a bit. Pointed out by Jan Arne Petersen.
+
2008-05-25 Matthias Clasen <mclasen@redhat.com>
Bug 532497 – Configure problem when cross-compiling
ColInfo *info;
if (data->row_column >= data->n_columns)
- g_set_error (error, data->error_quark, 0,
- "Too many columns, maximum is %d\n", data->n_columns - 1);
+ {
+ g_set_error (error, data->error_quark, 0,
+ "Too many columns, maximum is %d\n", data->n_columns - 1);
+ return;
+ }
for (i = 0; names[i]; i++)
if (strcmp (names[i], "id") == 0)
errno = 0;
id = atoi (values[i]);
if (errno)
- g_set_error (error, data->error_quark, 0,
- "the id tag %s could not be converted to an integer",
- values[i]);
+ {
+ g_set_error (error, data->error_quark, 0,
+ "the id tag %s could not be converted to an integer",
+ values[i]);
+ return;
+ }
+ if (id < 0 || id >= data->n_columns)
+ {
+ g_set_error (error, data->error_quark, 0,
+ "id value %d out of range", id);
+ return;
+ }
}
else if (strcmp (names[i], "translatable") == 0)
{
}
if (id == -1)
- g_set_error (error, data->error_quark, 0,
- "<col> needs an id attribute");
+ {
+ g_set_error (error, data->error_quark, 0,
+ "<col> needs an id attribute");
+ return;
+ }
info = g_slice_new0 (ColInfo);
info->translatable = translatable;